home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmiSoft / Dev / lang / amigatalk.lha / intuition / Window.st < prev    next >
Text File  |  2003-11-27  |  7KB  |  313 lines

  1. "------------------------------------------------------------------- "
  2. " Window Class implements control of Amiga Windows.                  "
  3. ""
  4. "  WARNING: AmigaTalk depends on the order & number of the instance  "
  5. "           variables being as show here, DO NOT CHANGE THEM!        "
  6. "------------------------------------------------------------------- "
  7.  
  8. Class Window :Glyph ! private savedTitle parent !
  9. [
  10.    windowObject
  11.  
  12.      ^ private
  13. |
  14.    screen
  15.      
  16.      ^ parent
  17. |
  18.    refreshYourself
  19.  
  20.      <primitive 239 3 2 private>.
  21.  
  22.        self refreshGadgets.
  23.        self refreshWindowFrame.
  24.  
  25.      <primitive 239 3 3 private 1 >.
  26. |     
  27.    setPointer: spriteObject size: sizePt offset: offPt ! w h x y !
  28.  
  29.       " This method is obsolete, use setWindowPointer: tagArray instead "
  30.       w <- sizePt x.
  31.       h <- sizePt y.
  32.  
  33.       x <- offPt  x.
  34.       y <- offPt  y.
  35.  
  36.       <primitive 181 8 spriteObject h w x y private> "h w???"
  37. |
  38.    setWindowPointer: tagArray
  39.  
  40.       "    WA_Pointer (APTR) - The pointer you wish to associate with
  41.         your window.  If NULL, you are requesting the Preferences
  42.         default pointer.  Custom pointers should be allocated
  43.         by performing a NewObject() on 'pointerclass'.
  44.         (See <intuition/pointerclass.h>).  Defaults to NULL.
  45.  
  46.     WA_BusyPointer (BOOL) - Set to TRUE to request the Preferences
  47.         busy-pointer.  If FALSE, your pointer will be as requested
  48.         by WA_Pointer.  Defaults to FALSE.
  49.  
  50.     WA_PointerDelay (BOOL) - Set to TRUE to defer changing your
  51.         pointer for a brief instant.  This is typically used
  52.         along with setting the busy pointer, especially when
  53.         the application knows it may be busy for a very short
  54.         while.  If the application clears the pointer or sets
  55.         another pointer before the delay expires, the pending
  56.         pointer change is cancelled.  This reduces short
  57.         flashes of the busy pointer.
  58.       "
  59.       <primitive 181 20 private tagArray>
  60. |
  61.    addGadget: gadgetObject
  62.  
  63.       <primitive 181 9 gadgetObject private>
  64. |
  65.    setFirstGadget: newGadgetObject
  66.  
  67.       <primitive 181 3 12 newGadgetObject>
  68. |
  69.    refreshGadgets
  70.  
  71.       <primitive 181 4 'RefreshGadgets' private>
  72. |
  73.    refreshWindowFrame
  74.  
  75.       <primitive 181 4 'RefreshWindowFrame' private>
  76. |
  77.    removeGadget: gadgetObject
  78.  
  79.       <primitive 181 10 gadgetObject private>
  80. |
  81.    reportMouse: boolvalue
  82.  
  83.       (boolvalue == true)
  84.          ifTrue: [<primitive 181 11 1 private>]
  85.         ifFalse: [<primitive 181 11 0 private>]
  86. |
  87.    getMouseCoords
  88.  
  89.       ^ <primitive 181 2 8 private> @ <primitive 181 2 9 private>
  90. |
  91.    printIText: iTextObject at: aPoint
  92.  
  93.       <primitive 181 14 iTextObject (aPoint x) (aPoint y) private>
  94. |
  95.    handleIntuition
  96.  
  97.       ^ <primitive 181 16 private>
  98. |
  99.    windowToBack
  100.  
  101.       <primitive 181 4 'WindowToBack' private>
  102. |
  103.    windowToFront
  104.  
  105.       <primitive 181 4 'WindowToFront' private>
  106. |
  107.    showRequester: requesterObject
  108.  
  109.       <primitive 181 5 'ShowRequester' requesterObject private>
  110. |
  111.    addMenuStrip: menuObject
  112.  
  113.       <primitive 181 5 'AddMenuStrip' menuObject private>
  114. |
  115.    removeMenuStrip
  116.  
  117.       <primitive 181 4 'RemoveMenuStrip' private>
  118. |
  119.    moveWindow: deltaPt
  120.  
  121.       <primitive 181 6 'MoveWindow' (deltaPt x) (deltaPt y) private>
  122. |
  123.    infoReq: msg title: t
  124.  
  125.       <primitive 181 13 msg t 'OKAY'>
  126. |
  127.    yesNoReq: msg title: t
  128.  
  129.       ^ <primitive 181 13 msg t 'YES|NO'>
  130. |
  131.    getUserChoice: msg title: t choices: bstr
  132.  
  133.       ^ <primitive 181 13 msg t bstr>
  134. |
  135.    changeWindowSize: deltaPt
  136.  
  137.       <primitive 181 6 'SetWindowSize' (deltaPt x) (deltaPt y) private>
  138. |
  139.    getOrigin
  140.  
  141.       ^ <primitive 181 2 0 private> @ <primitive 181 2 1 private>
  142. |
  143.    getWindowSize
  144.  
  145.       ^ <primitive 181 2 2 private> @ <primitive 181 2 3 private>
  146. |
  147.    getWindowPens
  148.  
  149.       ^ <primitive 181 2 4 private> @ <primitive 181 2 5 private>
  150. |
  151.    getFlags
  152.  
  153.       ^ <primitive 181 2 6 private>
  154. |
  155.    getIDCMPFlags
  156.  
  157.       ^ <primitive 181 2 7 private>
  158. |
  159.    beginRefresh
  160.  
  161.       <primitive 181 4 'BeginRefresh' private>
  162. |
  163.    endRefresh
  164.  
  165.       <primitive 181 4 'EndRefresh' private>
  166. |     
  167.    remakeDisplay
  168.  
  169.       <primitive 181 4 'RemakeDisplay' private>
  170. |     
  171.    rethinkDisplay
  172.  
  173.       <primitive 181 4 'RethinkDisplay' private>
  174. |
  175.    setWindowOrigin: newPoint
  176.  
  177.       <primitive 181 3 0 (newPoint x)>.
  178.       <primitive 181 3 1 (newPoint y)>
  179. |
  180.    setWindowSize: sizePoint
  181.  
  182.       <primitive 181 3 2 (sizePoint x)>.
  183.       <primitive 181 3 3 (sizePoint y)>
  184. |
  185.    setWindowPens: newPensPoint
  186.  
  187.       <primitive 181 3 4 (newPensPoint x)>. "FrontPen"
  188.       <primitive 181 3 5 (newPensPoint y)>  "BackPen"
  189. |
  190.    setFlags: newFlags
  191.  
  192.       <primitive 181 3 6 newFlags>
  193. |
  194.    setIDCMPFlags: newIDCMP
  195.  
  196.       <primitive 181 3 7 newIDCMP>
  197. |
  198.    setMinSize: newMinPoint ! minw minh !
  199.  
  200.       minw <- newMinPoint x.
  201.       minh <- newMinPoint y.
  202.  
  203.       <primitive 181 3 8 minw>.
  204.       <primitive 181 3 9 minh>
  205. |
  206.    setMaxSize: newMaxPoint ! maxw maxh !
  207.  
  208.       maxw <- newMaxPoint x.
  209.       maxh <- newMaxPoint y.
  210.  
  211.       <primitive 181 3 10 maxw>.
  212.       <primitive 181 3 11 maxh>
  213. |
  214.    getReqCount
  215.  
  216.       ^ <primitive 181 2 11 private>
  217. |
  218.    getPointerSize
  219.  
  220.       ^ <primitive 181 2 12 private> @ <primitive 181 2 13 private>
  221. |
  222.    setCheckMark: newCheckMarkImageObject
  223.  
  224.       <primitive 181 3 13 newCheckMarkImageObject>
  225. |
  226.    getWindowOffset
  227.  
  228.       ^ <primitive 181 2 14 private> @ <primitive 181 2 15 private>
  229. |
  230.    setBitMap: newBitMapObject
  231.  
  232.       <primitive 181 3 14 newBitMapObject>
  233. |
  234.    getBorderLeft
  235.  
  236.       ^ <primitive 181 2 18 private>
  237. |
  238.    getBorderTop
  239.  
  240.       ^ <primitive 181 2 19 private>
  241. |
  242.    getBorderRight
  243.  
  244.       ^ <primitive 181 2 20 private>
  245. |
  246.    getBorderBottom
  247.  
  248.       ^ <primitive 181 2 21 private>
  249. |
  250.    getCheckMarkImage
  251.  
  252.       ^ <primitive 181 2 22 private>  " Returns an Image Object "
  253. |
  254.    getUserData
  255.  
  256.       ^ <primitive 181 2 23 private>
  257. |
  258.    getTitle
  259.  
  260.       ^ <primitive 181 2 10 private>
  261. |      
  262.    changeTitle: newTitle
  263.  
  264.       <primitive 181 12 newTitle private>. "Window has to be still open!"
  265.  
  266.       savedTitle <- newTitle
  267. |
  268.    setWindowTitle: newWindowTitle
  269.  
  270.       savedTitle <- newWindowTitle
  271. |
  272.    getScreenTitle
  273.  
  274.       ^ savedTitle <- <primitive 181 2 16 private>
  275. |
  276.    new: newWindowTitle
  277.  
  278.       self setWindowTitle: newWindowTitle.
  279.  
  280.       ^ self
  281. |
  282.    openOnScreen: screenObject
  283.  
  284.       private <- <primitive 181 1 screenObject savedTitle>.
  285.       parent  <- screenObject.
  286.       
  287.       ^ private
  288. |
  289.    openWindowWithTags: tagArray
  290.  
  291.       private <- <primitive 181 17 tagArray>.
  292.       parent  <- <primitive 181 18 private>.
  293.       
  294.       ^ private
  295. |
  296.    reOpen
  297.  
  298.       ^ private <- <primitive 181 1 parent savedTitle>
  299. |
  300.    close
  301.  
  302.       <primitive 181 0 private>.
  303.  
  304.       <primitive 250 5 0 private>.
  305.       
  306.       ^ nil
  307. |
  308.    getWindowSignal
  309.  
  310.       " The window HAS TO BE OPEN BEFORE you use this! "
  311.       ^ <primitive 181 2 17 private>
  312. ]
  313.